package com.caipin.service;

import com.caipin.domain.table.Student;
import com.caipin.domain.table.StudentCourse;
import com.caipin.domain.table.StudentPhoto;
import com.caipin.domain.web.PageBean;

import java.util.List;

/**
 * @Author: zhunian0322@163.com
 * @DateTime: 2020-08-01 16:20
 * @Description: TODO
 */
public interface StudentManagementService {
    int importStudentToMysql(List<Student> studentList);

    PageBean<Student> findStudentListByStudentId(Integer pageNum, Integer pageSize, String studentId);

    PageBean<Student> findStudentList(Integer pageNum, Integer pageSize);

    PageBean<Student> findStudentList(Integer pageNum, Integer pageSize, String studentName, String gender, String grade, String clbum);

    Student findStudentByStudentId(String studentId);

    void delStudentByStudentId(String studentId);

    int delStudentListByStudentIds(List<String> studentIds);

    void addStudent(Student student);

    void updateStudent(Student student);

    void saveStudentPhoto(StudentPhoto studentPhoto);

    int importStudentCourseToMysql(List<StudentCourse> studentCourseList);

    PageBean<StudentCourse> findStudentCourseListByStudentId(Integer pageNum, Integer pageSize, String studentId);

    PageBean<StudentCourse> findStudentCourseList(Integer pageNum, Integer pageSize);

    PageBean<StudentCourse> findStudentCourseList(Integer pageNum, Integer pageSize, String courseName, String courseType, String building, String classroom, String schoolYear, Integer semester, String grade, String clbum, Integer week, Integer sections);

    StudentCourse findStudentCourseByStudentCourseId(Long studentCourseId);

    void delStudentCourseByStudentCourseId(Long studentCourseId);


    int delStudentCourseListByStudentCourseIds(List<Long> studentCourseIds);

    void addStudentCourse(StudentCourse studentCourse);

    void updateStudentCourse(StudentCourse studentCourse);

    Integer studentCourseCount(String courseName, String grade, String clbum, Integer week, Integer sections);

    Integer studentCourseCountByClassStudent(String grade, String clbum);
}
